Conversation
| forget(group, "Nash", "John") | ||
|
|
||
| if __name__ == "__main__": | ||
| assert len(group) == 4, "Group should have 4 members" |
There was a problem hiding this comment.
🎉
you could also only define the group within the if name == "main" block, so that you don't have a group defined if you import this file
| def forget(self, person): | ||
| """Removes any connections to a person""" | ||
| pass | ||
| if person in self.connections: |
There was a problem hiding this comment.
I like that you've made sure that they exist, in our example we've thrown a specific exception here but this is also another sensible way to deal with it
| else: | ||
| return 0 |
There was a problem hiding this comment.
This is certainly one way to deal with it, the other would be to throw an exception
| def number_of_connections(self, name): | ||
| """Find the number of connections that a person in the group has""" | ||
| pass | ||
| if name in self.connections: |
There was a problem hiding this comment.
Oh interesting, you've used a different data structure than our example I think, we've used this in our example
| if name in self.connections: | |
| if self.contains(name): |
| Optional reciprocal: If true, will add the relationship from name2 to name 1 as well | ||
| """ | ||
| pass | ||
| if self.number_of_connections(name1) != 0: |
There was a problem hiding this comment.
Also could have a guard clause here to check that we know about these people exist in our group
| if self.number_of_connections(name1) != 0: | |
| if not self.contains(name1): | |
| raise ValueError(f"I don't know who {name1} is.") | |
| if not self.contains(name2): | |
| raise ValueError(f"I don't know who {name2} is.") | |
| if self.number_of_connections(name1) != 0: |
| def forget(self, name1, name2): | ||
| """Remove the connection between two people.""" | ||
| pass | ||
| if self.number_of_connections(name1) != 0: |
There was a problem hiding this comment.
could also add a guard clause here too
Answers UCL-COMP0233-2022-2023/RSE-Classwork#51